// Copyright (C) ZHENG Zhong <heavyzheng nospam-at gmail D0T com>
//
// $Id: test_main.cpp 228 2008-09-15 13:35:23Z heavyzheng $
//

#include <zzheng/test_config.hpp>
#include <zzheng/test_logging.hpp>

// Include zzheng test cases...
#include <zzheng/utility/istring_test.hpp>
#include <zzheng/xml/dom_test.hpp>
#include <zzheng/xml/dom_ambiguity_test.hpp>
#include <zzheng/quant/dates/quant_dates_test_cases.hpp>

// Include boost::unit_test...
#include <boost/test/unit_test.hpp>

#ifdef ZZHENG_TEST_ALL

namespace zzheng {
namespace test {

    void first_test() {
        info("Starting zzheng::test...");
    }

    void last_test() {
        info("Completed zzheng::test.");
    }

} // namespace zzheng::test
} // namespace zzheng

////////////////////////////////////////////////////////////////////////////////////////////////////

boost::unit_test::test_suite* init_unit_test_suite(int argc, char* argv[]) {

    argc, argv; // remove compiler warning.

    boost::unit_test::test_suite* suite = BOOST_TEST_SUITE("zzheng::test");
    suite->add( BOOST_TEST_CASE(&zzheng::test::first_test) );

    zzheng::test::add_istring_test_cases(*suite);
    zzheng::test::add_dom_test_cases(*suite);
    zzheng::test::add_dom_ambiguity_test_cases(*suite);

    // Add quant_date test cases.
    zzheng::test::add_date_test_cases(*suite);
    zzheng::test::add_duration_test_cases(*suite);
    zzheng::test::add_schedule_test_cases(*suite);

    suite->add( BOOST_TEST_CASE(&zzheng::test::last_test) );

    return suite;
}

#endif // ZZHENG_TEST_ALL



